Matthias Clasen [Sat, 18 Jul 2020 03:36:05 +0000 (23:36 -0400)]
inspector: Clean up GtkInspectorActionEditor
Drop the Private struct, dispose properly,
and don't derive from GtkBox.
Matthias Clasen [Sat, 18 Jul 2020 03:24:14 +0000 (23:24 -0400)]
inspector: Clean up GtkInspectorLogs
Drop the Private struct, dispose properly,
and don't derive from GtkBox.
Matthias Clasen [Sat, 18 Jul 2020 03:15:42 +0000 (23:15 -0400)]
inspector: Allow disposing the inspector
We were hiding the inspector when the window
is closed, but that has the side-effect of
keeping references to application windows,
so we would keep them artificially alive,
which can have side-effects.
So, make the inspector go away when closed.
Matthias Clasen [Sat, 18 Jul 2020 03:15:25 +0000 (23:15 -0400)]
inspector: Properly dispose GtkInspectorWindow
Matthias Clasen [Sat, 18 Jul 2020 03:13:29 +0000 (23:13 -0400)]
inspector: Properly dispose GtkInspectorShortcuts
Matthias Clasen [Sat, 18 Jul 2020 03:05:07 +0000 (23:05 -0400)]
inspector: Properly dispose GtkInspectorListData
Matthias Clasen [Sat, 18 Jul 2020 02:54:19 +0000 (22:54 -0400)]
inspector: Dispose tree data properly
Another place where we were leaking children.
Matthias Clasen [Sat, 18 Jul 2020 02:44:01 +0000 (22:44 -0400)]
inspector: Dispose the recorder properly
We were leaking children here.
Matthias Clasen [Sat, 18 Jul 2020 02:37:24 +0000 (22:37 -0400)]
inspector: Drop the recorder Private struct
Matthias Clasen [Sat, 18 Jul 2020 01:17:43 +0000 (01:17 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
gtk-demo: Don't use GtkColorSwatch
See merge request GNOME/gtk!2262
Matthias Clasen [Sat, 18 Jul 2020 00:44:06 +0000 (20:44 -0400)]
gtk-demo: Don't use GtkColorSwatch
Making our own is 80 lines of code, so just do it.
Matthias Clasen [Fri, 17 Jul 2020 13:18:59 +0000 (13:18 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Fix typo in the GtkStrinFilter constructor declaration
See merge request GNOME/gtk!2261
Emmanuele Bassi [Fri, 17 Jul 2020 13:16:46 +0000 (14:16 +0100)]
Fix typo in the GtkStrinFilter constructor declaration
Emmanuele Bassi [Fri, 17 Jul 2020 13:09:55 +0000 (13:09 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Fix typo in the gtk-doc stanza for gtk_string_filter_new()
See merge request GNOME/gtk!2259
Emmanuele Bassi [Fri, 17 Jul 2020 11:03:17 +0000 (12:03 +0100)]
Fix typo in the gtk-doc stanza for gtk_string_filter_new()
Matthias Clasen [Fri, 17 Jul 2020 10:56:16 +0000 (10:56 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'
Wip/baedert/for master
Closes #2776
See merge request GNOME/gtk!2258
Timm Bäder [Fri, 17 Jul 2020 05:14:50 +0000 (07:14 +0200)]
testwidgettransforms: Fix GtkBox casts
Timm Bäder [Fri, 17 Jul 2020 04:31:57 +0000 (06:31 +0200)]
boxlayout: Remove unnecessary checks
The pointers passed to GtkLayoutManager::measure() are never NULL. The
ones passed to gtk_layout_manager_measure() can be, however.
Timm Bäder [Fri, 17 Jul 2020 04:27:50 +0000 (06:27 +0200)]
boxlayout: Remove unused include
Timm Bäder [Fri, 17 Jul 2020 04:27:23 +0000 (06:27 +0200)]
migration guide: Remove a stray html tag
Timm Bäder [Sun, 12 Jul 2020 12:38:50 +0000 (14:38 +0200)]
widget: Save a gtk_css_node_get_style call
Timm Bäder [Sun, 12 Jul 2020 11:57:20 +0000 (13:57 +0200)]
widget: Remove useless if statement
filter_value is never NULL anyway.
Timm Bäder [Sun, 12 Jul 2020 09:33:34 +0000 (11:33 +0200)]
snapshot: Use collect_default directoy in push_debug()
Instead of going through collect_debug and then doing a collect_default
anyway if the message is NULL.
Timm Bäder [Sun, 12 Jul 2020 09:20:31 +0000 (11:20 +0200)]
debug: Remove resize highlighting
This has been broken ever since the debug highlighting moved to
inspector overlays.
Timm Bäder [Sun, 12 Jul 2020 08:55:31 +0000 (10:55 +0200)]
GdkRGBA: Fix typo in documentation
Timm Bäder [Sun, 12 Jul 2020 07:40:00 +0000 (09:40 +0200)]
gl renderer: Avoid 9-slicing things that can't be
The outline needs to be large enough so changing the size of the outline
does not affect the resulting blurred texture.
Fixes #2776
Timm Bäder [Wed, 8 Jul 2020 04:14:55 +0000 (06:14 +0200)]
gl renderer: Remove outdated comment
Timm Bäder [Wed, 8 Jul 2020 03:45:34 +0000 (05:45 +0200)]
gl renderer: Try to intersect rounded clips more often
Timm Bäder [Sun, 5 Jul 2020 11:58:52 +0000 (13:58 +0200)]
gl renderer: Remove unused flag
Timm Bäder [Sun, 5 Jul 2020 09:03:36 +0000 (11:03 +0200)]
adwaita: Remove header bar border radius
We get this from the window node these days.
Timm Bäder [Sat, 4 Jul 2020 07:26:08 +0000 (09:26 +0200)]
icontheme: Indentation
Timm Bäder [Fri, 3 Jul 2020 04:41:29 +0000 (06:41 +0200)]
gl renderer: Ignore rounded clip that only increase the clip
This fixes the widget factory rendering too much.
In the widget-factory, we generally have a pretty small update area (two
spinners and a progressbar). We take the extents of that as a update
area and inital clip.
However, the first clip node we see is from the toplevel window, which
essentially increases the clip again to almost the entire window.
Fix that by ignoring such cases.
Timm Bäder [Wed, 1 Jul 2020 14:22:30 +0000 (16:22 +0200)]
testsuite: Fix test case indentation
Matthias Clasen [Fri, 17 Jul 2020 03:20:20 +0000 (03:20 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2257
Matthias Clasen [Fri, 17 Jul 2020 02:14:39 +0000 (22:14 -0400)]
docs: Move columns below columnview
Matthias Clasen [Fri, 17 Jul 2020 01:58:52 +0000 (21:58 -0400)]
Cosmetic docs change
Matthias Clasen [Fri, 17 Jul 2020 01:48:08 +0000 (21:48 -0400)]
docs: Revise the filter docs a bit
Matthias Clasen [Fri, 17 Jul 2020 01:45:11 +0000 (21:45 -0400)]
docs: Revise sorter docs a bit
Matthias Clasen [Fri, 17 Jul 2020 01:44:31 +0000 (21:44 -0400)]
bitset: try again
Matthias Clasen [Fri, 17 Jul 2020 01:05:07 +0000 (01:05 +0000)]
Merge branch 'wip/chergert/subclass-treeview' into 'master'
treeview: allow subclassing GtkTreeView
Closes #2936
See merge request GNOME/gtk!2256
Matthias Clasen [Fri, 17 Jul 2020 01:02:33 +0000 (21:02 -0400)]
docs: Add more GtkExpression
Make GtkExpression show up in the object
hierarchy, and add the param spec and GValue
support to the docs.
Matthias Clasen [Fri, 17 Jul 2020 00:27:00 +0000 (20:27 -0400)]
docs: Document GtkBitsetIter
Matthias Clasen [Thu, 16 Jul 2020 23:52:08 +0000 (19:52 -0400)]
docs: Add an example
Add a small example for setting up columnview sorting.
Matthias Clasen [Thu, 16 Jul 2020 23:45:21 +0000 (19:45 -0400)]
docs: Fix examples
The formatting for examples in the GtkExpression
long description was messed up.
Christian Hergert [Fri, 17 Jul 2020 00:06:06 +0000 (17:06 -0700)]
treeview: allow subclassing GtkTreeView
Porting code from GTK 3 without the ability to subclass GtkTreeView
directly can cause an extreme amount of pain on application developers.
It can also complicate performance when it comes to dealing with
encapsulation as the outer widget would also encapsulate the GtkScrollable
implementation from GtkTreeView, typically through GtkViewport.
Fixes #2936
Matthias Clasen [Thu, 16 Jul 2020 23:44:24 +0000 (19:44 -0400)]
docs: Link to GtkTreeRowReference
The list overview cross-reference table links
to all objects, except for this one.
Matthias Clasen [Thu, 16 Jul 2020 23:43:39 +0000 (19:43 -0400)]
docs: Add GtkTreeExpander
We want to link to it from various places, so it needs
to be present in the docs.
Matthias Clasen [Thu, 16 Jul 2020 23:31:31 +0000 (23:31 +0000)]
Merge branch 'matthiasc/arrays' into 'master'
Matthiasc/arrays
See merge request GNOME/gtk!2253
Matthias Clasen [Thu, 16 Jul 2020 17:12:25 +0000 (13:12 -0400)]
multifilter: Use GdkArray for the filters
Matthias Clasen [Thu, 16 Jul 2020 16:53:29 +0000 (12:53 -0400)]
multisorter: Use GdkArray for the sorters
Matthias Clasen [Thu, 16 Jul 2020 21:03:21 +0000 (21:03 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
gtk-demo: Use better api
See merge request GNOME/gtk!2254
Matthias Clasen [Thu, 16 Jul 2020 20:24:49 +0000 (16:24 -0400)]
gtk-demo: Use better api
We have a getter for the model, lets use it.
Benjamin Otte [Thu, 16 Jul 2020 19:43:45 +0000 (19:43 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
See merge request GNOME/gtk!2251
Matthias Clasen [Thu, 16 Jul 2020 18:52:22 +0000 (18:52 +0000)]
Merge branch 'missing-exports' into 'master'
Add missing exports for GtkColumnView methods.
See merge request GNOME/gtk!2252
Benjamin Otte [Sun, 12 Jul 2020 05:49:53 +0000 (07:49 +0200)]
listitemmanager: Do a better job on double items
Previously, we would unparent the existing item that we were about
to reuse, and not the duplicate one.
Change that.
Benjamin Otte [Sun, 12 Jul 2020 05:02:04 +0000 (07:02 +0200)]
stringfilter: Make the constructor take an expression
An expression is critically important for a string filter and people
should be made aware of it when constructing the filter.
Benjamin Otte [Sun, 12 Jul 2020 01:35:11 +0000 (03:35 +0200)]
gtk-demo: Don't make demos modal
That way, demo windows can be maximized and multiple demos can run at
once.
It's especially useful when using --run because the main window is
invisible then.
Benjamin Otte [Sat, 11 Jul 2020 03:15:00 +0000 (05:15 +0200)]
testsuite: Don't be too exhaustive
The test was taking over 60s on CI, that's a but much.
Benjamin Otte [Fri, 10 Jul 2020 00:13:50 +0000 (02:13 +0200)]
testsuite: Add a case with escaped Latin-1 code
This came up in recent g_uri_escape() discussions.
Matthias Clasen [Thu, 16 Jul 2020 18:05:43 +0000 (18:05 +0000)]
Merge branch 'wip/otte/vector' into 'master'
Arrays
See merge request GNOME/gtk!2197
Matthias Clasen [Thu, 16 Jul 2020 17:39:16 +0000 (17:39 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2250
Andreas Persson [Thu, 16 Jul 2020 16:58:41 +0000 (18:58 +0200)]
Add missing exports for GtkColumnView methods.
GDK_AVAILABLE_IN_ALL was missing for one method in GtkColumnView and one
in GtkColumnViewColumn.
Matthias Clasen [Thu, 16 Jul 2020 12:49:38 +0000 (08:49 -0400)]
treesorter tests: Add a comment
This looks like a leak, but isn't one.
Add a comment to that effect.
Benjamin Otte [Fri, 3 Jul 2020 23:13:39 +0000 (01:13 +0200)]
stringlist: Convert to array
Stringlists are usually built and then never modified, and accessing
items through an array is faster.
Benjamin Otte [Fri, 3 Jul 2020 02:53:50 +0000 (04:53 +0200)]
snapshot: Use GdkArray for the state stack
Benjamin Otte [Thu, 16 Jul 2020 14:33:14 +0000 (16:33 +0200)]
array: Add a bunch of new features
* GDK_ARRAY_BY_VALUE
#define this to get GArray-like behavior
* gdk_array_splice (v, 0, 0, NULL, 25)
Adding items but passing NULL as the items will zero() them.
* gdk_array_set_size()
A nicer way to call gdk_array_splice()
* constify getters
Benjamin Otte [Fri, 3 Jul 2020 02:21:07 +0000 (04:21 +0200)]
icontheme: Use GdkArray
Benjamin Otte [Thu, 2 Jul 2020 21:32:04 +0000 (23:32 +0200)]
array: Add null-termination
Benjamin Otte [Thu, 2 Jul 2020 21:32:04 +0000 (23:32 +0200)]
snapshot: Port node list to GdkArray
Benjamin Otte [Thu, 2 Jul 2020 20:59:40 +0000 (22:59 +0200)]
snapshot: Move structs into .c file
They aren't used anywhere else.
Benjamin Otte [Thu, 2 Jul 2020 18:51:16 +0000 (20:51 +0200)]
Remove preallocated array code
Now with GdkArray, we can use that one instead.
Benjamin Otte [Thu, 2 Jul 2020 18:50:14 +0000 (20:50 +0200)]
main: Use a GdkArray
Benjamin Otte [Thu, 2 Jul 2020 16:30:55 +0000 (18:30 +0200)]
cssselector: Use GdkArray
Benjamin Otte [Thu, 2 Jul 2020 15:23:09 +0000 (17:23 +0200)]
Add GdkArray
This is a scary idea where you #define a bunch of preprocessor values
and then #include "gdkarrayimpl.c" and end up with a dynamic array for
that data type.
See https://en.wikipedia.org/wiki/X_Macro for what's going on.
What are the advantages over using GArray or GPtrArray?
* It's typesafe
Because it works like C++ templates, we can use the actual type of
the object instead of having to use gpointer.
* It's one less indirection
instead of 2 indirections via self->array->data, this array is
embedded, so self->array is the actual data, and just one indirection
away. This is pretty irrelevant in general, but can be very noticable
in tight loops.
* It's all inline
Because the whole API is defined as static inline functions, the
compiler has full access to everything and can (and does) optimize
out unnecessary calls, thereby speeding up some operations quite
significantly, when full optimizations are enabled.
* It has more features
In particular preallocation allows for avoiding malloc() calls, which
can again speed up tight loops a lot.
But there's also splice(), which is very useful when used with
listmodels.
Benjamin Otte [Tue, 7 Jul 2020 21:18:46 +0000 (23:18 +0200)]
sortlistmodel: Remove forgotten G_PARAM_CONSTRUCT_ONLY
Matthias Clasen [Thu, 16 Jul 2020 12:49:22 +0000 (08:49 -0400)]
multiselection tests: Plug a leak
g_list_model_get_item is transfer full.
Matthias Clasen [Thu, 16 Jul 2020 12:48:56 +0000 (08:48 -0400)]
filterlistmodel tests: Plug a leak
g_list_model_get_item is transfer full.
Matthias Clasen [Thu, 16 Jul 2020 12:48:36 +0000 (08:48 -0400)]
filter tests: Plug a leak
g_list_model_get_item is transfer full.
Matthias Clasen [Thu, 16 Jul 2020 12:48:09 +0000 (08:48 -0400)]
printunixdialog: Plug a leak
g_list_model_get_item is transfer full.
Matthias Clasen [Thu, 16 Jul 2020 12:47:59 +0000 (08:47 -0400)]
Cosmetics
Matthias Clasen [Thu, 16 Jul 2020 12:47:36 +0000 (08:47 -0400)]
placessidebar: Plug a leak
g_list_model_get_item is transfer full.
Matthias Clasen [Thu, 16 Jul 2020 12:47:05 +0000 (08:47 -0400)]
filechoosernativewin32: Plug a leak
g_list_model_get_item is transfer full.
Matthias Clasen [Thu, 16 Jul 2020 12:46:44 +0000 (08:46 -0400)]
columnlistitemfactory: Plug a leak
g_list_model_get_item is transfer full.
Matthias Clasen [Thu, 16 Jul 2020 12:46:18 +0000 (08:46 -0400)]
applicationaccels: Plug a leak
g_list_model_get_item is transfer full.
Matthias Clasen [Thu, 16 Jul 2020 11:49:18 +0000 (07:49 -0400)]
columviewsorter: Add an assertion
Matthias Clasen [Thu, 16 Jul 2020 12:52:46 +0000 (12:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2249
Matthias Clasen [Thu, 16 Jul 2020 02:14:36 +0000 (22:14 -0400)]
inspector: Avoid losing a reference
This was copying the example in the treelistrowsorter
docs that the previous commit fixed, so we apply
the same fix here.
Matthias Clasen [Thu, 16 Jul 2020 02:13:36 +0000 (22:13 -0400)]
treelistrowsorter: Fix a faulty example
gtk_tree_list_row_sorter_new() consumes the
sorter, so we can't pass gtk_column_view_get_sorter(),
since that is transfer none.
Matthias Clasen [Thu, 16 Jul 2020 01:22:21 +0000 (21:22 -0400)]
inspector: Don't derive from GtkBox
We don't do that anymore. A bin layout
is sufficient here.
Matthias Clasen [Thu, 16 Jul 2020 00:28:05 +0000 (20:28 -0400)]
inspector: Drop a Private struct
These are really not needed in the inspector.
Matthias Clasen [Thu, 16 Jul 2020 00:24:00 +0000 (20:24 -0400)]
inspector: Drop an unused field
Efstathios Iosifidis [Wed, 15 Jul 2020 18:12:26 +0000 (18:12 +0000)]
Update Greek translation
Matthias Clasen [Wed, 15 Jul 2020 16:52:05 +0000 (16:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
inspector: Use substring matching in the property list
See merge request GNOME/gtk!2247
Matthias Clasen [Wed, 15 Jul 2020 15:29:06 +0000 (11:29 -0400)]
inspector: Use substring matching in the property list
This is convenient for things like "set both hexpand and
vexpand", since you can then search for "expand"
Florentina Mușat [Wed, 15 Jul 2020 08:58:58 +0000 (08:58 +0000)]
Update Romanian translation
Matthias Clasen [Wed, 15 Jul 2020 01:41:35 +0000 (01:41 +0000)]
Merge branch 'wip/jimmac/file-dialog-sidebar-color' into 'master'
Adwaita: sidebar color for file picker
See merge request GNOME/gtk!2242
Matthias Clasen [Wed, 15 Jul 2020 01:40:49 +0000 (01:40 +0000)]
Merge branch 'wip/fix-picom-crasher' into 'master'
x11: Don't set up frame sync fence on unsupported compositors
Closes #2927
See merge request GNOME/gtk!2245
Matthias Clasen [Wed, 15 Jul 2020 01:38:55 +0000 (01:38 +0000)]
Merge branch 'idle-inhibit' into 'master'
Add support for idle inhibition on Wayland
Closes #2202
See merge request GNOME/gtk!2226
Matthias Clasen [Wed, 15 Jul 2020 01:38:38 +0000 (01:38 +0000)]
Merge branch 'shortcuts-section-reflow-fix' into 'master'
Fix shortcuts section reflow
Closes #2928
See merge request GNOME/gtk!2246
Emmanuel Gil Peyrot [Fri, 10 Jul 2020 13:53:05 +0000 (15:53 +0200)]
gtk/wayland: Add support for idle inhibition in GtkApplication
This feature was previously only supported on DBus compositors, such as
Mutter, this adds support for other compositors such as all of those
based on wlroots.
This implementation prefers the idle-inhibit Wayland protocol to the
DBus version if it is available, since the inhibitor is per-surface
instead of global it allows a finer control over which displays get
dimmed for instance. For every case not supported by this protocol, a
fallback to the DBus version is used.
It can’t do anything if the GtkWindow isn’t passed, which might warrant
some documentation change to encourage users to not use NULL for this
argument.
This has been tested on Sway.
Fixes #2202.